package com.kkb.service;

import com.kkb.pojo.TbCategory;
import com.kkb.pojo.Ztree;

import java.util.List;

/**
 * 商品分类service
 **/
public interface CategoryService {
    /**
     * 商品分类列表
     * @return 商品分类
     */
    List<TbCategory> getCategory();

    /**
     * 根据等级查询分类
     * @param level
     * @return
     */
    List<TbCategory> selectCategoryByLevel(Integer level);


    /**
     * 根据分类ID查询信息
     *
     * @param categoryId 部门ID
     * @return 分类信息
     */

    TbCategory selectCategoryById(Integer categoryId);

    /**
     * 根据ID查询分类信息
     *
     * @param categoryId 分类ID
     * @return 分类信息
     */
    String checkDeptNameUnique(Integer categoryId);

    /**
     * 根据分类名称查询
     *
     * @param categoryName 分类名称
     * @return 分类信息
     */
    String checkDeptNameUnique(String categoryName);
    /**
     * 新增保存分类信息
     *
     * @param category 分类信息
     * @return 结果
     */
    int insertCategory(TbCategory category);

    /**
     * 修改保存商品分类
     *
     * @param category 分类信息
     * @return 结果
     */
    int updateCategory(TbCategory category);

    /**
     * 删除商品分类信息
     *
     * @param deptId 分类ID
     * @return 结果
     */
     int deleteCategoryById(Integer deptId);

    /**
     * 查询下级分类个数
     *
     * @param categoryId 上级ID
     * @return 分类信息
     */
    Long selectCount(Integer categoryId);
    /**
     * 查询分类树
     *
     * @param tbCategory 分类信息
     * @return 所有分类信息
     */
    List<Ztree> selectCategoryTree(TbCategory tbCategory);
}
